// 使用合约名称导入（TronBox 会自动查找 build/contracts 目录）
const TRXBetLottery = artifacts.require("TRXBetLottery");

module.exports = async function (deployer, network, accounts) {
    try {
        console.log("\n=== 开始部署 TRXBetLottery 合约 ===\n");
        console.log("网络:", network);
        
        // 部署者地址（TronBox 自动关联配置中的私钥）
        const devWallet = accounts[0];
        // 首期截止时间：当前时间 + 1小时
        const firstDeadline = Math.floor(Date.now() / 1000) + 3600;

        console.log("部署参数确认：");
        console.log("  开发团队地址：", devWallet);
        console.log("  首期截止时间戳：", firstDeadline);
        console.log("  截止时间：", new Date(firstDeadline * 1000).toLocaleString());
        console.log("");

        console.log("正在部署合约...");
        // 部署合约（传入构造函数参数）
        await deployer.deploy(TRXBetLottery, devWallet, firstDeadline);
        
        console.log("获取合约实例...");
        const instance = await TRXBetLottery.deployed();
        
        console.log("\n✅ 合约部署成功！");
        console.log("合约地址：", instance.address);
        console.log("查看合约: https://shasta.tronscan.org/#/contract/" + instance.address);
        console.log("\n=== 部署完成 ===\n");
    } catch (error) {
        console.error("\n❌ 部署失败！");
        console.error("错误:", error.message || error);
        if (error.stack) {
            console.error("堆栈:", error.stack);
        }
        throw error;
    }
};